package org.posupe.instituicoesEnsino;

import org.posupe.util.RepositorioException;

public class CadastroInstituicoesEnsino {
	private RepositorioInstituicoesEnsino repositorio;
	
	public CadastroInstituicoesEnsino(RepositorioInstituicoesEnsino repositorio) {
		this.repositorio = repositorio;
	}
	
	public void remover(int codigo) throws InstituicaoEnsinoInexistenteException, RepositorioException{
	    this.repositorio.remover(codigo);
	}
	
	public boolean existe(int codigo) throws RepositorioException {
		return repositorio.existe(codigo);
	}
	
	
	public void atualizar(InstituicaoEnsino instituicaoEnsino) throws InstituicaoEnsinoInexistenteException, RepositorioException {
		this.repositorio.atualizar(instituicaoEnsino);
	}
	
	public void cadastrar(InstituicaoEnsino instituicaoEnsino) throws InstituicaoEnsinoJaCadastradaException, RepositorioException{
		if(this.repositorio.existe(instituicaoEnsino.getCodigo())){
			throw new InstituicaoEnsinoJaCadastradaException(instituicaoEnsino);
		}
		this.repositorio.inserir(instituicaoEnsino);
	}

	public IteratorInstituicoesEnsino procurar(InstituicaoEnsino instituicaoEnsino) throws RepositorioException{
		return repositorio.procurar(instituicaoEnsino);
	}
	
	public InstituicaoEnsino procurar(int codigo) throws InstituicaoEnsinoInexistenteException, RepositorioException {
		return repositorio.procurar(codigo);
	}
		

	public IteratorInstituicoesEnsino getInstituicoesEnsino() throws RepositorioException {
		return repositorio.getIterator();
	
	}
		
}
